# --------------------------------------------------------------------------
# simplecalc.py - Python Script
# --------------------------------------------------------------------------
#
# Description:
# SimpleCalc is a tool to easily make simple calculations, without 
# the need to open the windows calculator so that simple sums can
# all be completed without leaving Maya. 
# Available calculations are add, subtract, multiply and divide
# Numbers of any size or decimal can be used, and values can be 
# pasted in.
#
# How to Run: (as python)
# import simplecalc 
# simplecalc.calcWindow() 
#
# AUTHOR:
# www.JeffHatton.co.uk
#
# VERSION:		
#	1.5
# *Fixed a bug in functions not launching from shelf 
#
#

import maya.cmds as cmds

#Calculator functions
def addIntFields():
    intOne = cmds.floatField('fieldOne', query = True, value = True)
    intTwo = cmds.floatField('fieldTwo', query = True, value = True)
    val = intOne + intTwo
    intAnswer = cmds.floatField('fieldAnswer', edit = True, value = val)

def subtractIntFields():
    intOne = cmds.floatField('fieldOne', query = True, value = True)
    intTwo = cmds.floatField('fieldTwo', query = True, value = True)
    val = intOne - intTwo
    intAnswer = cmds.floatField('fieldAnswer', edit = True, value = val)

def multiplyIntFields():
    intOne = cmds.floatField('fieldOne', query = True, value = True)
    intTwo = cmds.floatField('fieldTwo', query = True, value = True)
    val = intOne * intTwo
    intAnswer = cmds.floatField('fieldAnswer', edit = True, value = val)

def divideIntFields():
    intOne = cmds.floatField('fieldOne', query = True, value = True)
    intTwo = cmds.floatField('fieldTwo', query = True, value = True)
    val = intOne / intTwo
    intAnswer = cmds.floatField('fieldAnswer', edit = True, value = val)


#Calculator UI
def calcWindow():
        
    if cmds.window('calcWindow', exists = True):
        cmds.deleteUI('calcWindow')
    
    calcWindow = cmds.window('calcWindow', title="Simple Calc", rtf = True )
    
    cmds.columnLayout( adjustableColumn=True )
    cmds.separator( style = 'in', h = 10 )
    cmds.text(label='Calculator:', h = 30, w = 30)
    cmds.separator( style = 'in', h = 10 )
    cmds.floatField('fieldOne')
    cmds.floatField('fieldTwo')
    cmds.separator( style = 'in', h = 10 )
    cmds.button(label = '  Add  (  +  )  ', command = lambda *args: addIntFields())
    cmds.button(label = '  Subtract  (  -  )  ', command = lambda *args: subtractIntFields())
    cmds.button(label = '  Multiply  (  *  )  ', command = lambda *args: multiplyIntFields())
    cmds.button(label = '  Divide  (  /  )  ', command = lambda *args: divideIntFields())
    cmds.separator( style = 'in', h = 10 )
    cmds.text(label='Answer:', h = 30, w = 30)
    cmds.separator( style = 'in', h = 10 )
    cmds.floatField('fieldAnswer', bgc = (0.7, 0.7, 0.7), editable = False)
    
	
    cmds.showWindow(calcWindow)
	
